import kek=require('./node_modules/kekTable/kekTable');
import kekTable=require('./node_modules/kekTable/main');

let tables:{[index:string]:kek.Table}={
    infoDtl:{
        dbName:'InfoDtl',
        columns:{
            id:{
                dbName:'id',
                isKey:true,
                listIndex:0,
                listTitle:'id'
            },
            reportDate:{
                dbName:'report_date',
                listIndex:1,
                listTitle:'上報日期',
                colType:kek.EColType.date
            },
            incidentDate:{
                dbName:'incident_date'
            },
            reportDept:{
                dbName:'report_dept',
                outerJoin:[{col:'dept.id',type:kek.EJoinType.LEFT}]
            },
            involvePeople:{
              dbName:'involve_people'
            },
            involveMoney:{
                dbName:'involve_money'
            },
            involveGov:{
                dbName:'involve_gov',
                outerJoin:[{col:'gov.id',type:kek.EJoinType.LEFT}]
            },
            incidentCompany:{
                dbName:'incident_company',
                outerJoin:[{col:'company.id',type:kek.EJoinType.LEFT}]
            },
            rank:{
                dbName:'rank',
                outerJoin:[{col:'rank.id',type:kek.EJoinType.LEFT}]
            },
            manifestation:{
                dbName:'manifestation',
                outerJoin:[{col:'manifestation.id',type:kek.EJoinType.LEFT}]
            },
            trend:{
                dbName:'trend',
                outerJoin:[{col:'trend.id',type:kek.EJoinType.LEFT}]
            },
            overview:{
                dbName:'overview'
            },
            codeNo:{
                dbName:'code_no'
            },
            createClerk:{
                dbName:'create_clerk'
            },
            createDatetime:{
                dbName:'create_datetime'
            },
            modifyClerk:{
                dbName:'modify_clerk',
                outerJoin:[{col:'modifyEmp.id',type:kek.EJoinType.LEFT}]
            },
            modifyDatetime:{
                dbName:'modify_datetime'
            }
        }
    },
    dept:{
        dbName:'GovDept',
        columns:{
            id:{
                dbName:'id'
            },
            name:{
                dbName:'name'
            }
        }
    },
    gov:{
        dbName:'GovDept',
        columns:{
            id:{
                dbName:'id'
            },
            name:{
                dbName:'name'
            }
        }
    },
    company:{
        dbName:'Company',
        columns:{
            id:{
                dbName:'id'
            },
            name:{
                dbName:'name'
            }
        }
    },
    rank:{
        dbName:'Rank',
        columns:{
            id:{
                dbName:'id'
            },
            name:{
                dbName:'name'
            }
        }
    },
    manifestation:{
        dbName:'Manifestation',
        columns:{
            id:{
                dbName:'id'
            },
            name:{
                dbName:'name'
            }
        }
    },
    trend:{
        dbName:'Trend',
        columns:{
            id:{
                dbName:'id'
            },
            name:{
                dbName:'name'
            }
        }
    },
    modifyEmp:{
        dbName:'account',
        columns:{
            id:{
                dbName:'id'
            },
            name:{
                dbName:'name'
            }
        }
    },
    dtlClass:{
        dbName:'InfoDtlClass',
        columns:{
            id:{
                dbName:'id',
                isKey:true,
                isSelect:false
            },
            infoId:{
                dbName:'info_id',
                isSelect:false,
                foreignCol:'infoDtl.id'
            },
            classId:{
                dbName:'class',
                outerJoin:[{col:'className.id',type:kek.EJoinType.LEFT}]
            }
        }
    },
    className:{
        dbName:'Class',
        nullToExists:true,
        columns:{
            id:{
                dbName:'id',
                isSelect:false
            },
            name:{
                dbName:'name',
                listIndex:2,
                listTitle:'分類'
            }
        }
    }
};
var xx=new kekTable.KekTable({id:'tab',tables:tables});